The subject matter disclosed herein relates to a system for controlling a power application, and more specifically to a system for controlling a power application having a configuration tool including control logic for modifying an adjustable amount of time of a frame state.
A control module is provided for operating a power application such as, for example, gas turbines, steam turbines, wind turbines, aero-derivative gas turbine, or plant distributed control systems (DCS). The control module includes control logic for reading inputs, executing an application, and writing outputs within a time period commonly referred to as a frame. The frame is defined into smaller units of time referred to as frame states. A frame state allows for the control module to perform one particular activity such as reading an input, executing the application, or writing an output. In one example there are four frame states, input, output, application and idle. The amount of time allotted for the execution of each frame state is referred to as a frame state timeout interval.
The frame state timeout intervals for each of the frame states are fixed and may not be changed. Thus, irrespective of the power application, the frame state timeout intervals each remain the same even though the size of the input and output points as well as the size of the application varies between power applications. For example, if the application frame state is relatively larger and more time consuming than the input, there is no way to utilize the extra input time that is allotted to accommodate the large application frame state. Moreover, even if the input, application, or outputs exceed the frame state timeout interval, there is usually no way to utilize the idle frame state timeout interval to accommodate the overrunning frame state timeout interval. As a result all of the input points may not be fetched, the application may not be executed accurately, or the output points may not be signaled correctly. Moreover, there is no simple approach for an end-user to monitor the control module as the application is executing. Thus, an end-user is usually unable to determine which frame state does not have sufficient time to execute, or which frame state has unused time.
In one approach, the frame state timeout intervals are modified by the control module system developers. Specifically, the system developers modify the frame state timeout intervals based on the specific requirements of a power application, re-build the firmware of the control module, re-release the software toolset for the control module, and make a release of the new firmware available to customers. This process is cumbersome, time consuming, and relatively expensive.
In another approach, the frame state timeout intervals are adjusted based on a specific site's requirements. For example, if a first site had an input frame state that was being timed out, then the system developers modify the input frame state such that more time is allotted to the input frame state. If a second site has an output frame that was being timed out, then the system developers modify the output frame state such that more time is allotted to the output frame state. If a third site has an application frame that was being timed out, then the system developers modify the frame state timeout interval corresponding to the application frame state such that more time is being allotted to the application frame state. All of these approaches are relatively time consuming and complex.